import java.awt.Point;
import java.io.Serializable;

public class ConetorSul implements 
		Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -800557290408051000L;

	/**
	 * 
	 */

	private Point pontoSul;

	private Retangulo retanguloEnvolvente;

	private Identificador identificador;

	private OpcaoConetor opcao;

	public ConetorSul(Identificador identificador,
			Retangulo retanguloEnvolvente) {
		this.retanguloEnvolvente = retanguloEnvolvente;
		this.identificador = identificador;
		construirPonto();
	}

	public Retangulo getRetanguloEnvolvente() {
		return retanguloEnvolvente;
	}

	public void setRetanguloEnvolvente(Retangulo retanguloEnvolvente) {
		this.retanguloEnvolvente = retanguloEnvolvente;
		construirPonto();
	}

	public Identificador getIdentificador() {
		return identificador;
	}

	public void setIdentificador(Identificador identificador) {
		this.identificador = identificador;
	}

	public void construirPonto() {
		this.pontoSul = new Point();
		this.pontoSul.setLocation(this.retanguloEnvolvente.getPontoSuperiorEsquerdo().getX()
				+ (this.identificador.getRetanguloEnvolvente()
						.getTamanho().getAltura() / 2) - 10 / 2,
		this.retanguloEnvolvente.getPontoSuperiorEsquerdo().getY()
				+ this.retanguloEnvolvente.getTamanho().getLargura() - 10);

	}

	public boolean contem(Coordenada coordenada) {
		return (coordenada.getX() >= pontoSul.x
				&& coordenada.getX() <= pontoSul.x + 10
				&& coordenada.getY() >= pontoSul.y && coordenada.getY() <= pontoSul.y + 10);
	}

	public Point pontoConetor(Coordenada coordenada) {

		if (coordenada.getX() >= pontoSul.x
				&& coordenada.getX() <= pontoSul.x + 10
				&& coordenada.getY() >= pontoSul.y && coordenada.getY() <= pontoSul.y + 10) {
			System.out.println("Devolvo Sul");
			return pontoSul;
		}
		return null;
	}


	public Point getPontoSul() {
		return pontoSul;
	}

}